Recommendation systems apply one or more models and analyze results to make recommendations. These can be static models for simpler systems, or machine learning models for dynamic and/or complex systems. Examples of recommendation systems in use today include ones used in online shopping, which display products that others have viewed, or other products in a similar classification or from other manufacturers. Such systems are efficient for employing a small number of models, but experience ever-increasing computation time when the number of models is large or growing. Consider a recommendation system where there are N users and a corresponding number of models, and M items to consider. Applying each of the N user models on one item X of the M items requires N times as much computation time as applying a single model on the item, and applying each of the N user models on all M items requires N times M as much computation time as applying a single model on the item. For large numbers of models, and also for large numbers of items, the total computation time can be extremely large and can render certain techniques infeasible.
It is within this context that the embodiments arise.